/*
 * table_TypeSpecifier.h
 *
 *  Created on: 2012/04/26
 *      Author: guanxiaoying
 */

#ifndef TABLE_TYPESPECIFIER_H_
#define TABLE_TYPESPECIFIER_H_
typedef struct _TYPESPECIFIERACCESS{
	BOOL (*clear)( VOID );
	BOOL (*reset)( VOID );
	BOOL (*alloc)( AST );
	AST  (*getMax)( VOID );
	ACCESS_U2_FIELD  restrictNum;
	ACCESS_U2_FIELD  volatileNum;
	ACCESS_U2_FIELD  constNum;
	ACCESS_U2_FIELD  externNum;
	ACCESS_U2_FIELD  staticNum;
	ACCESS_U2_FIELD  autoNum;
	ACCESS_U2_FIELD  typedefNum;
	ACCESS_U2_FIELD  registerNum;
	ACCESS_U2_FIELD  interruptNum;
	ACCESS_U2_FIELD  inlineNum;
	ACCESS_U2_FIELD  asmNum;
	ACCESS_U2_FIELD  nearNum;
	ACCESS_U2_FIELD  farNum;
	ACCESS_U2_FIELD  specifyKind;
	ACCESS_U2_FIELD  signNum;
	ACCESS_U2_FIELD  unsigneNum;
	ACCESS_U2_FIELD  longNum;
	ACCESS_U2_FIELD  shortNum;
	ACCESS_IDX_FIELD memberChain;
	ACCESS_IDX_FIELD symbol;
	ACCESS_IDX_FIELD typeinfo;
	ACCESS_IDX_FIELD declaration;
	ACCESS_IDX_FIELD codeScp;
}TYPESPECIFIERACCESS;

extern const TYPESPECIFIERACCESS stTypeSpecifierAccess;
#endif /* TABLE_TYPESPECIFIER_H_ */
